from typing import Any, Optional

import wx

class wxBaseViewer(wx.Panel):
    def __init__(self, parent: Optional[Any] = None) -> None: ...
    def GetWinId(self) -> int: ...
    def OnSize(self, event: Any) -> None: ...
    def OnIdle(self, event: Any) -> None: ...
    def OnMove(self, event: Any) -> None: ...
    def OnFocus(self, event: Any) -> None: ...
    def OnLostFocus(self, event: Any) -> None: ...
    def OnMaximize(self, event: Any) -> None: ...
    def OnLeftDown(self, event: Any) -> None: ...
    def OnRightDown(self, event: Any) -> None: ...
    def OnMiddleDown(self, event: Any) -> None: ...
    def OnLeftUp(self, event: Any) -> None: ...
    def OnRightUp(self, event: Any) -> None: ...
    def OnMiddleUp(self, event: Any) -> None: ...
    def OnMotion(self, event: Any) -> None: ...
    def OnKeyDown(self, event: Any) -> None: ...

class wxViewer3d(wxBaseViewer):
    def __init__(self, *kargs: Any) -> None: ...
    def InitDriver(self) -> None: ...
    def _SetupKeyMap(self) -> None: ...
    def OnKeyDown(self, evt: Any) -> None: ...
    def OnMaximize(self, event: Any) -> None: ...
    def OnMove(self, event: Any) -> None: ...
    def OnIdle(self, event: Any) -> None: ...
    def Test(self) -> None: ...
    def OnFocus(self, event: Any) -> None: ...
    def OnLostFocus(self, event: Any) -> None: ...
    def OnPaint(self, event: Any) -> None: ...
    def ZoomAll(self, evt: Any) -> None: ...
    def Repaint(self, evt: Any) -> None: ...
    def OnLeftDown(self, evt: Any) -> None: ...
    def OnLeftUp(self, evt: Any) -> None: ...
    def OnRightUp(self, evt: Any) -> None: ...
    def OnMiddleUp(self, evt: Any) -> None: ...
    def OnRightDown(self, evt: Any) -> None: ...
    def OnMiddleDown(self, evt: Any) -> None: ...
    def OnWheelScroll(self, evt: Any) -> None: ...
    def DrawBox(self, event: Any) -> None: ...
    def OnMotion(self, evt: Any) -> None: ...

def TestWxDisplay() -> None: ...
